OpenStack Juno : Configure Ceilometer#2
2015/01/29 |
Configure OpenStack Metering Service (Ceilometer).
This example shows to install Metering Services on the existing environment like follows.
For example, install and configure Metering Services on the Network Node. | +------------------+ | +------------------------+ | [ Control Node ] | | | [ Network Node ] | | Keystone |10.0.0.30 | 10.0.0.50| DHCP,L3,L2 Agent | | Glance |------------+------------| Metadata Agent | | Nova API |eth0 | eth0| Ceilometer Services | | Neutron Server | | | | +------------------+ | +------------------------+ eth0|10.0.0.51 +--------------------+ | [ Compute Node ] | | Nova Compute | | L2 Agent | | Ceilometer-Compute | +--------------------+ |
Install and Configure Ceilometer on this section.
|
|
[1] | Install MongoDB which Ceilometer needs for backend database. |
# install from EPEL [root@network ~]# yum --enablerepo=epel -y install mongodb-server mongodb
|
[2] | Configure and Start MongoDB. |
[root@network ~]#
vi /etc/sysconfig/mongod # add OPTIONS=" --smallfiles --quiet -f /etc/mongodb.conf"
[root@network ~]#
vi /etc/mongodb.conf # line 4: change to the own IP bind_ip = 10.0.0.50
# create a DB for Ceilometer (set any password for "password" section) [root@network ~]# mongo --host 10.0.0.50 --eval ' db = db.getSiblingDB("ceilometer"); db.createUser({user: "ceilometer", pwd: "password", roles: [ "readWrite", "dbAdmin" ]})' MongoDB shell version: 2.6.5 connecting to: 10.0.0.50:27017/test Successfully added user: { "user" : "ceilometer", "roles" : [ "readWrite", "dbAdmin" ] } |
[3] | Install Ceilometer services. |
[root@network ~]# yum --enablerepo=openstack-juno,epel -y install openstack-ceilometer-api openstack-ceilometer-collector openstack-ceilometer-notification openstack-ceilometer-central openstack-ceilometer-alarm python-ceilometerclient
|
[4] | Configure Ceilometer. |
[root@network ~]# mv /etc/ceilometer/ceilometer.conf /etc/ceilometer/ceilometer.conf.org
[root@network ~]#
vi /etc/ceilometer/ceilometer.conf # create new
[DEFAULT]
# RabbitMQ server rabbit_host=10.0.0.30 rabbit_port=5672 # RabbitMQ userID rabbit_userid=guest # RabbitMQ userID's password rabbit_password=password rpc_backend=rabbit api_paste_config=/etc/ceilometer/api_paste.ini libvirt_type=kvm log_dir=/var/log/ceilometer
[api]
port=8777 host=0.0.0.0 # connection info for MongoDB [database] connection=mongodb://ceilometer:password@10.0.0.50:27017/ceilometer # connection info for Keystone [keystone_authtoken] auth_host=10.0.0.30 auth_port=35357 auth_protocol=http auth_uri=http://10.0.0.30:5000/v2.0 admin_user=ceilometer admin_password=servicepassword admin_tenant_name=service # set the secret key which is shared among nodes.(set any words you like) [publisher] metering_secret=meteringsecret # authentication info for Ceilometer [service_credentials] os_username=ceilometer os_password=servicepassword os_tenant_name=service os_auth_url=http://10.0.0.30:35357/v2.0 chgrp ceilometer /etc/ceilometer/ceilometer.conf [root@network ~]# chmod 640 /etc/ceilometer/ceilometer.conf [root@network ~]# systemctl start openstack-ceilometer-api openstack-ceilometer-notification openstack-ceilometer-central openstack-ceilometer-collector openstack-ceilometer-alarm-evaluator openstack-ceilometer-alarm-notifier [root@network ~]# systemctl enable openstack-ceilometer-api openstack-ceilometer-notification openstack-ceilometer-central openstack-ceilometer-collector openstack-ceilometer-alarm-evaluator openstack-ceilometer-alarm-notifier |